feat: add v7.3.0 upgrade with evm fork v0.6.1-fork.1 - #366
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThe release configuration updates the amd64 musl library checksum, adds a Linux ARM64 build and archive target, and configures ARM64 toolchains and static-library verification. Release Makefile targets now pass private-module settings and mount the host Go module cache into goreleaser-cross, with local releases using Estimated code review effort: 3 (Moderate) | ~25 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.goreleaser.yml:
- Around line 201-202: Update the snapshot.name_template configuration to use a
dynamic template containing commit-specific information instead of the hardcoded
“7.3.0” value, preserving unique and traceable snapshot artifact names across
builds.
- Around line 142-144: Update the musl toolchain setup blocks, including the
aarch64 commands and the corresponding amd64 block above, to stream each archive
download directly into tar and extract into /opt without creating .tgz files in
the mapped workspace. Preserve the existing destination directories and
subsequent toolchain setup behavior.
In `@Makefile`:
- Line 176: Update the GOMODCACHE volume mounts in Makefile lines 176, 220, and
244 to use read-only mode by appending :ro to each /go/pkg/mod mount, preserving
the existing offline container behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5c4395c7-c073-40e6-bb82-dac7bf1f5b10
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (3)
.goreleaser.ymlMakefilego.mod
09895f9 to
62d72c4
Compare
There was a problem hiding this comment.
♻️ Duplicate comments (1)
Makefile (1)
174-174: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winProtect the host's Go module cache from root-owned file corruption.
All three targets mount the host's module cache read-write into a Docker container (which typically runs as root). This risks writing root-owned cache entries to the user's host machine, causing subsequent local
gocommands to fail with "permission denied" errors. The shared root cause is the lack of a read-only (:ro) flag on the volume mounts.
Makefile#L174-L174: Append:roto the volume mount (-v $(GOMODCACHE):/go/pkg/mod:ro \) increate-release-dry-run.Makefile#L218-L218: Append:roto the volume mount (-v $(GOMODCACHE):/go/pkg/mod:ro \) ingoreleaser-build-local.Makefile#L242-L242: Append:roto the volume mount (-v $(GOMODCACHE):/go/pkg/mod:ro \) inci-release.🔧 Proposed fixes
For
create-release-dry-run:- -v $(GOMODCACHE):/go/pkg/mod \ + -v $(GOMODCACHE):/go/pkg/mod:ro \For
goreleaser-build-local:- -v $(GOMODCACHE):/go/pkg/mod \ + -v $(GOMODCACHE):/go/pkg/mod:ro \For
ci-release:- -v $(GOMODCACHE):/go/pkg/mod \ + -v $(GOMODCACHE):/go/pkg/mod:ro \🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Makefile` at line 174, Update the GOMODCACHE volume mounts in Makefile lines 174, 218, and 242, used by create-release-dry-run, goreleaser-build-local, and ci-release, to append the read-only :ro flag. Apply the same mount change at all three sites.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@Makefile`:
- Line 174: Update the GOMODCACHE volume mounts in Makefile lines 174, 218, and
242, used by create-release-dry-run, goreleaser-build-local, and ci-release, to
append the read-only :ro flag. Apply the same mount change at all three sites.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: dd14a1db-cd1d-420c-bd2a-b15c7aa386d1
📒 Files selected for processing (3)
.goreleaser.ymlMakefileapp/app.go
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
app/apptesting/evm.go (1)
25-38: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winKeep
DefaultFirstERC20tied to the deployment derivation.
DeployERC20derives addresses fromERC20DeployerAddress()and the current nonce, whileDefaultFirstERC20is a separate hardcoded copy of the nonce-0 result. If the seed or address derivation changes, downstream fee tests can reference a stale address. Add an assertion coveringcrypto.CreateAddress(ERC20DeployerAddress(), 0)or derive this value from the same logic.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@app/apptesting/evm.go` around lines 25 - 38, Update DefaultFirstERC20 so it cannot diverge from DeployERC20’s derivation: either derive it from crypto.CreateAddress(ERC20DeployerAddress(), 0) or add an assertion comparing the constant with that value. Keep ERC20DeployerAddress as the shared source of the deployer address and ensure the nonce-0 relationship is validated.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@RELEASE_NOTES.md`:
- Line 5: Update the public build-from-source release note to avoid promising
identical binary hashes unless the release rebuilt with the public module is
verified to match the private-module build. Either validate and document
matching hashes before publication, or remove the
identical-hash/equivalent-module claim and publish checksums for the rebuilt
public release.
---
Nitpick comments:
In `@app/apptesting/evm.go`:
- Around line 25-38: Update DefaultFirstERC20 so it cannot diverge from
DeployERC20’s derivation: either derive it from
crypto.CreateAddress(ERC20DeployerAddress(), 0) or add an assertion comparing
the constant with that value. Keep ERC20DeployerAddress as the shared source of
the deployer address and ensure the nonce-0 relationship is validated.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 744d8b34-7a96-4032-a35f-cf8ad57613e9
📒 Files selected for processing (9)
CHANGELOG.mdRELEASE_NOTES.mdapp/app.goapp/apptesting/evm.goapp/upgrades/v7_2/constants.gogo.modwasmbinding/evm/reflect_query_test.gox/feeabstraction/ante/cosmos/fee_test.gox/feeabstraction/keeper/fee_test.go
💤 Files with no reviewable changes (2)
- app/app.go
- app/upgrades/v7_2/constants.go
🚧 Files skipped from review as they are similar to previous changes (1)
- go.mod
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Makefile`:
- Line 174: Update the release targets create-release-dry-run,
goreleaser-build-local, and ci-release to ensure $(GOMODCACHE) is populated via
a restore step or explicit go mod download before Docker mounts it read-only at
/go/pkg/mod:ro, including the private evm-private replacement dependency.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: f4673893-1a55-48ee-ae4e-8fbd5ff0d7af
📒 Files selected for processing (4)
.goreleaser.ymlMakefileRELEASE_NOTES.mdapp/apptesting/evm.go
🚧 Files skipped from review as they are similar to previous changes (3)
- RELEASE_NOTES.md
- app/apptesting/evm.go
- .goreleaser.yml
Co-authored-by: Cursor <cursoragent@cursor.com>
|
@coderabbitai review |
✅ Action performedReview finished.
|
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
ccba209 to
b1ff560
Compare
b1ff560 to
f2fcc70
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Description
Adds a
linux/arm64build target to the GoReleaser config (alongside the existinglinux/amd64) so we can produce static Linux binaries for both architectures. The release was built locally viamake goreleaser-build-local(no CI, no publish).Type of change
How Has This Been Tested?
make goreleaser-build-locallocally and confirmeddist/contains staticlinux/amd64andlinux/arm64binaries (verified withfileandsha256sum).PR Checklist:
make lint-fix